package com.example.lt.service;

import java.util.Collection;
import java.util.List;

/**
 * @Author 小涛Tao
 * @Date: 2024/07/30/17:54
 * version 1.0 注释：
 **/
public interface FeedService {

    /**
     * 推入发件箱
     * @param UserId 发件箱用户id
     * @param videoId 视频id
     * @param time 视频创建时间
     */
    void pusOutBoxFeed(Long userId, Long videoId, Long time);

    /**
     * 删除发件箱，当前用户删除视频时调用，->删除当前用户的发件箱中视频以及粉丝下的收件箱
     * @param userId 当前用户
     * @param fans 粉丝id
     * @param videoId 视频id 需要删除的
     */
    void deleteOutBoxFeed(Long userId, Collection<Long> fans, Long videoId);

    /**
     * 删除收件箱，当用户取关用户时调用，->删除自己收件箱中的videoIds
     * @param userId 用户id
     * @param videoIds 关注人发的视频id集合
     */
    void deleteInBoxFeed(Long userId, List<Long> videoIds);

    /**
     * 更新用户的收件箱
     * @param userId 用户id
     * @param followIds 用户关注了的id集合
     */
    void initFollowFeed(Long userId, Collection<Long> followIds);

}
